From: Matthieu Gallien Date: Fri, 4 Apr 2025 15:53:45 +0000 (+0200) Subject: simple way to add more logs related to upload progress X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2^2~37^2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22Program/%22http:/www.example.com/cgi/%22https:/%22Program?a=commitdiff_plain;h=b352ab545ef3b073f1cbc5027015f15d1950e098;p=nextcloud-desktop.git simple way to add more logs related to upload progress will be important to try to see upload performance bottlenecks Signed-off-by: Matthieu Gallien --- diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index 2bac80f17..ab7899c52 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -64,18 +64,27 @@ void PUTFileJob::start() req.setPriority(QNetworkRequest::LowPriority); // Long uploads must not block non-propagation jobs. + auto requestID = QByteArray{}; + if (_url.isValid()) { - sendRequest("PUT", _url, req, _device); + const auto reply = sendRequest("PUT", _url, req, _device); + requestID = reply->request().rawHeader("X-Request-ID"); } else { - sendRequest("PUT", makeDavUrl(path()), req, _device); + const auto reply = sendRequest("PUT", makeDavUrl(path()), req, _device); + requestID = reply->request().rawHeader("X-Request-ID"); } if (reply()->error() != QNetworkReply::NoError) { qCWarning(lcPutJob) << " Network error: " << reply()->errorString(); } + connect(reply(), &QNetworkReply::uploadProgress, this, [requestID] (qint64 bytesSent, qint64 bytesTotal) { + qCDebug(lcPutJob()) << requestID << "upload progress" << bytesSent << bytesTotal; + }); + connect(reply(), &QNetworkReply::uploadProgress, this, &PUTFileJob::uploadProgress); connect(this, &AbstractNetworkJob::networkActivity, account().data(), &Account::propagatorNetworkActivity); + _requestTimer.start(); AbstractNetworkJob::start(); } diff --git a/src/libsync/putmultifilejob.cpp b/src/libsync/putmultifilejob.cpp index 10e202e46..aa23e9b5c 100644 --- a/src/libsync/putmultifilejob.cpp +++ b/src/libsync/putmultifilejob.cpp @@ -71,21 +71,16 @@ void PutMultiFileJob::start() _body.append(onePart); } - sendRequest("POST", _url, req, &_body); + const auto newReply = sendRequest("POST", _url, req, &_body); + const auto &requestID = newReply->request().rawHeader("X-Request-ID"); if (reply()->error() != QNetworkReply::NoError) { qCWarning(lcPutMultiFileJob) << " Network error: " << reply()->errorString(); } connect(reply(), &QNetworkReply::uploadProgress, this, &PutMultiFileJob::uploadProgress); - connect(reply(), &QNetworkReply::uploadProgress, this, [] (qint64 bytesSent, qint64 bytesTotal) { - qCDebug(lcPutMultiFileJob()) << "upload progress" << bytesSent << bytesTotal; - }); - connect(reply(), &QNetworkReply::bytesWritten, this, [] (qint64 bytesSent) { - qCDebug(lcPutMultiFileJob()) << "upload progress" << bytesSent; - }); - connect(reply(), &QNetworkReply::requestSent, this, [] () { - qCDebug(lcPutMultiFileJob()) << "request sent"; + connect(reply(), &QNetworkReply::uploadProgress, this, [requestID] (qint64 bytesSent, qint64 bytesTotal) { + qCDebug(lcPutMultiFileJob()) << requestID << "upload progress" << bytesSent << bytesTotal; }); connect(this, &AbstractNetworkJob::networkActivity, account().data(), &Account::propagatorNetworkActivity); _requestTimer.start();